package file.it.byte_stream;

import java.io.*;

/**
 * 目标：使用字节流完成对文件的复制操作
 */
public class CopyTest {
    public static void main(String[] args) throws Exception {
        // 需求：复制照片, 文件; 适合拷贝一切文件
        // 1.创建一个字节输入流管道与源文件接通
        InputStream is = new FileInputStream("D:/photos/sb.jpg");

        // 2.创建一个字节输出流管道与目标文件接通
        OutputStream os = new FileOutputStream("C:/data/sb.jpg");

//        1024 + 1024 + 6

        // 3.创建一个字节数组，负责转移字节数据
        byte[] buffer = new byte[1024]; // 1KB

        // 4.从字节输入流中读取字节数据，写出去到字节输出流中。读多少写出去多少
        int len; // 记住每次读取了多少字节
        while ((len = is.read(buffer)) != -1) {
            os.write(buffer, 0, len);
        }

        os.close(); // 后创建的流先关掉
        is.close(); // 先创建的流后关掉
        System.out.println("复制完成");
    }
}
